'use strict';
const {
	ak,
	appId
} = require('wx-common')

exports.main = async (event, context) => {
	// 百度地图逆向编码 获取城市
	const cityRes = await uniCloud.httpclient.request(
		`https://api.map.baidu.com/reverse_geocoding/v3/?ak=${ak}&output=json&coordtype=wgs84ll&location=${event.lat},${event.lng}`, {
			method: 'GET',
			contentType: 'json', // 指定以application/json发送data内的数据
			dataType: 'json' // 指定返回值为json格式，自动进行parse
		},
	)
	if (cityRes.data.status == 0) {
		if (cityRes.data.result.addressComponent.country_code == 0) {
			// 百度地图获取天气
			const weatherRes = await uniCloud.httpclient.request(
				`https://api.map.baidu.com/weather/v1/?district_id=${cityRes.data.result.addressComponent.adcode}&data_type=all&ak=${ak}`, {
					method: 'GET',
					contentType: 'json', // 指定以application/json发送data内的数据
					dataType: 'json' // 指定返回值为json格式，自动进行parse
				},
			)
			if (weatherRes.data.status == 0) {
				return {
					code: 200,
					msg: '获取成功',
					data: weatherRes.data.result
				}
			} else {
				return {
					code: 201,
					msg: '获取天气失败',
					data: weatherRes.data
				}
			}
		} else {
			return {
				code: 200,
				msg: '不支持获取境外天气',
			}
		}
	} else {
		return {
			code: 201,
			msg: '获取城市失败',
			data: cityRes.data
		}
	}

	// 获取聚合天气
	// const res = await uniCloud.httpclient.request('http://apis.juhe.cn/simpleWeather/query', {
	// 	method: 'GET',
	// 	data: {
	// 		city: event.city,
	// 		key: '2c9be8fd25f2371d38a83226a314d4be'
	// 	},
	// 	contentType: 'json', // 指定以application/json发送data内的数据
	// 	dataType: 'json' // 指定返回值为json格式，自动进行parse
	// })
};
